package com.evasion.persistence.dao.impl;

import java.util.ArrayList;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.Query;

import com.evasion.persistence.dao.factorydao.AbstractDao;
import com.evasion.persistence.entidades.Rol;
import com.evasion.persistence.entidades.Usuario;

@Stateless
public class RolDAO extends AbstractDao<Rol> {
	

	/**
	 * Constructor por defecto que inicializa el AbstractDao con la clase
	 * entidad
	 */
	public RolDAO() {
		super(Rol.class);
	}

	
	@SuppressWarnings("unchecked")
	public List<Rol> getRolPorUsuario(Usuario usuario) {
		List<Rol> roles=null;
		try {
			Query query = em
					.createQuery("SELECT p FROM Rol p  Join p.usuarios e WHERE e.idUsuario= :idUsuario");
			query.setParameter("idEmpresa", usuario.getIdUsuario());
			if(query.getResultList()!=null)
				{
				roles= new ArrayList<Rol>();
				 roles= (List<Rol>) query.getResultList();
				 return roles;
				}
			else
			return roles;
		} catch (Exception e) {
			System.out.println("No se pudo encontrar los datos error: "+e);
		}
		return roles;
	}
}